The present invention relates to a system and method for controlling technical processes. In particular, the present invention relates to a system and method for controlling the movement of production machines, where a central processor is used to run a control program which is based on an instantiation capability and an interconnection appropriate for the requirements of software components with predeterminable and at least parameterizable functionality.
Previously known methods for automating technical processes are based either on a xe2x80x9cstored-program controller functionalityxe2x80x9d or on a xe2x80x9cCNC functionality.xe2x80x9d Since a certain functional scope is fixed within the framework of such functionalities, optimum adaptation to the requirements of a specific process is often possible only to a limited extent, since an entire group of functions is often superfluous in an actual application (for example, when a CNC controller actually designed for machine tools is used on packaging machines). Furthermore, single-purpose controllers designed individually with a view to the respective application exist in the form of specially programmed control software.
German Patent No. DE 197 40 550 discloses a method for the project planning and/or programming of a software application for controlling and/or monitoring a technical process and a device for controlling a technical process and/or for controlling the movement of a processing machine which runs a control program. This control program comprises a multiplicity of software modules. Process control functionalities of known stored-program controllers and known movement functionalities of NC controllers are realized in a uniform, configurable control system. Here, however, the individual software modules are respectively executed by a partial subgroup control, with the result that a central processor must be provided for each software module.
The reference WO 91 19237 and a document by Hilding Elmqvist entitled: xe2x80x9cA Uniform Architecture For Distributed Automationxe2x80x9d (Advances in Instrumentation and Control, U.S., Instrument Society of America, Research Triangle Park, Vol. 46, No. Part 02, Jan. 1, 1991 (01-01-1991), Pages 1599-1608, XP000347589 ISSN: 1054-0032) also disclose a graphic editing method for linking graphic objects and graphic modules for the programming of programs for controlling a technical process.
An article by Hajjar M N et al.: xe2x80x9cLES OBJETS; AVENIR DU CONTROLE DE PROCÉDÉSxe2x80x9d [Objects; The Future of Control Procedures] in MESURES REGULATION AUTOMATISME [Automation Control Measures], Fr, CFE. Paris, Vol. 60, No. 682, Feb. 1, 1996 (02-01-1996), Pages 81-83, XP000556561, ISSN: 0755-219X, outlines rudimentary properties of software objects in process engineering.
Thus, there exists a need for an improved system and method for controlling the movement of production machines.
The object of the present invention is to simplify the implementation of the control program and to reduce the number of necessary central processors.
This object is achieved by means of a system and method for the project planning or programming of a software application for controlling and/or monitoring an external technical process by providing instantiatable basic object types with addressable interfaces for parameterizing and interconnection, by providing at least one program processing object type for running a user-definable program and at least one driver object type for driving the process hardware as instantiatable basic object types and by the project planning, comprising at least the steps of selecting, parameterizing and interconnecting the basic objects.
The control program comprises software objects with addressable interfaces. For the project planning and programming of an actual software application, the project engineer/programmer chooses from a set of predefined basic object types, the basic object types required for the respective automation project. The selection of a basic object type corresponds within the framework of the project planning/programming to the instantiation of the corresponding basic object type. The respective instance of a basic object type is a basic object. The basic objects can be parameterized and interconnected by means of the interfaces of the basic objects, so that the basic objects respectively selected, as corresponding to the actual requirements, may be interconnected via their interfaces to form a control program and consequently finally form a software application for actual control functions.
Potentially suitable as basic object types are object types with basically predetermined functionality. A program processing object makes it possible to execute an actual sequence of instructions which can be predetermined by the respective user individually for each program processing object.
For driving the process hardware, the driver objects are provided, with different driver objects being respectively provided for different hardware components, even though, for purposes of simplicity, the following description refers only to driver objects.
According to the present invention, during the programming or project planning it is advantageously possible to select a basic object which can be parameterized and interconnected by means of the interfaces of the basic objects, so that the basic objects respectively selected, as corresponding to the actual requirements can be interconnected via their interfaces to form a control program and consequently finally form a software application for actual control functions.
At least one program processing object type (PPO) for the running of IAP sequences is advantageously provided as an instantiatable basic object type (BO). The program processing object type in this case represents a type of virtual machine.
For predetermining a command variable for a hardware subcomponent of the technical process, a command variable object type can also be advantageously provided as an instantiatable basic object type.
In addition, or alternatively, a feedback controller object can be provided as an instantiatable basic object type for controlling a hardware subcomponent of the external technical process.
The project planning/programming advantageously takes place on an engineering system, while the software application is executed on a runtime system. The project planning or programming is consequently independent of the execution of the respective actual software application.
The present invention covers not only the project planning/programming of a software application but also the respective actual software application planned/programmed according to an exemplary embodiment of the present invention, provided that the control and/or monitoring of the technical process takes place by means of a software application planned or programmed on the basis of the method in accordance with the present invention. The software application is distinguished by the basic objects respectively used and their actual interconnection.